-- Path of Building
--
-- Active Strength skill gems
-- Skill data (c) Grinding Gear Games
--
local skills, mod, flag, skill = ...

#skill AbyssalCry
#flags warcry area duration chaos
	statMap = {
		["base_movement_velocity_+%"] = {
		},
	},
#mods

#skill TotemMelee
#flags attack melee totem duration
	statMap = {
		["melee_ancestor_totem_grant_owner_attack_speed_+%_final"] = {
			mod("Speed", "MORE", nil, ModFlag.Attack, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
	},
#baseMod skill("allowTotemBuff", true)
#baseMod skill("thisIsNotABuff", true)
#mods

#skill AncestorTotemSlam
#flags attack melee totem area duration
	statMap = {
		["slam_ancestor_totem_grant_owner_melee_damage_+%_final"] = {
			mod("Damage", "MORE", nil, ModFlag.Melee, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Ancestral Warchief" }),
		},
	},
#baseMod skill("allowTotemBuff", true)
#baseMod skill("thisIsNotABuff", true)
#mods

#skill VaalAncestralWarchief
#flags attack melee totem area duration
	statMap = {
		["slam_ancestor_totem_grant_owner_melee_damage_+%_final"] = {
			mod("Damage", "MORE", nil, ModFlag.Melee, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Ancestral Warchief" }),
		},
	},
#baseMod skill("allowTotemBuff", true)
#baseMod skill("thisIsNotABuff", true)
#mods

#skill Anger
#flags spell aura area
	statMap = {
		["attack_minimum_added_fire_damage"] = {
			mod("FireMin", "BASE", nil, 0, KeywordFlag.Attack, { type = "GlobalEffect", effectType = "Aura" }),
		},
		["attack_maximum_added_fire_damage"] = {
			mod("FireMax", "BASE", nil, 0, KeywordFlag.Attack, { type = "GlobalEffect", effectType = "Aura" }),
		},
		["spell_minimum_added_fire_damage"] = {
			mod("FireMin", "BASE", nil, 0, KeywordFlag.Spell, { type = "GlobalEffect", effectType = "Aura" }),
		},
		["spell_maximum_added_fire_damage"] = {
			mod("FireMax", "BASE", nil, 0, KeywordFlag.Spell, { type = "GlobalEffect", effectType = "Aura" }),
		},
	},
#baseMod skill("radius", 40)
#mods

#skill AnimateArmour
#flags spell minion 
	minionHasItemSet = true,
	minionUses = {
		["Weapon 1"] = true,
		["Weapon 2"] = true,
		["Helmet"] = true,
		["Body Armour"] = true,
		["Gloves"] = true,
		["Boots"] = true,
	},
	minionList = {
		"AnimatedArmour",
	},
	statMap = {
		["maximum_life_+%"] = {
			mod("MinionModifier", "LIST", { mod = mod("Life", "INC", nil) }),
		},
		["base_movement_velocity_+%"] =  {
			mod("MinionModifier", "LIST", { mod = mod("MovementSpeed", "INC", nil) }),
		},
		["melee_physical_damage_+%"] = {
			mod("MinionModifier", "LIST", { mod = mod("PhysicalDamage", "INC", nil, ModFlag.Melee) }),
		},
		["attack_minimum_added_physical_damage"] = {
			mod("MinionModifier", "LIST", { mod = mod("PhysicalMin", "BASE", nil, 0, KeywordFlag.Attack) }),
		},
		["attack_maximum_added_physical_damage"] = {
			mod("MinionModifier", "LIST", { mod = mod("PhysicalMax", "BASE", nil, 0, KeywordFlag.Attack) }),
		},
	},
#mods

#skill Berserk
#flags spell
	statMap = {
		["berserk_attack_damage_+%_final"] = {
			mod("Damage", "MORE", nil, ModFlag.Attack, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
		["berserk_attack_speed_+%_final"] = {
			mod("Speed", "MORE", nil, ModFlag.Attack, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
		["berserk_movement_speed_+%_final"] = {
			mod("MovementSpeed", "MORE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
		["berserk_base_damage_taken_+%_final"] = {
			mod("DamageTaken", "MORE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
	},
#mods

#skill Bladestorm
#flags attack melee area duration
	parts = {
		{
			name = "Attack",
		},
		{
			name = "Bladestorm",
		},
	},
	statMap = {
		["bladestorm_storm_damage_+%_final"] = {
			mod("Damage", "MORE", nil, 0, 0, { type = "SkillPart", skillPart = 2 }),
		},
		["bladestorm_attack_speed_+%_final_while_in_bloodstorm"] = {
			mod("Speed", "MORE", nil, ModFlag.Attack, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Bloodstorm", effectCond = "BladestormInBloodstorm" }),
		},
		["bladestorm_movement_speed_+%_while_in_sandstorm"] = {
			mod("MovementSpeed", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Sandstorm", effectCond = "BladestormInSandstorm" }),
		},
	},
#baseMod skill("radius", 24)
#baseMod skill("radiusLabel", "Area of initial attack:")
#baseMod skill("radiusSecondary", 20)
#baseMod skill("radiusSecondaryLabel", "Area of bladestorms:")
#mods

#skill BloodSandStance
#flags spell
	statMap = {
		["blood_sand_stance_melee_skills_area_of_effect_+%_final_in_blood_stance"] = {
			mod("AreaOfEffect", "MORE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Blood", effectCond = "BloodStance"}, { type = "SkillType", skillType = SkillType.Melee })
		},
		["blood_sand_stance_melee_skills_area_damage_+%_final_in_blood_stance"] = {
			mod("Damage", "MORE", nil, ModFlag.Area, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Blood", effectCond = "BloodStance"}, { type = "SkillType", skillType = SkillType.Melee })
		},
		["blood_sand_stance_melee_skills_area_of_effect_+%_final_in_sand_stance"] = {
			mod("AreaOfEffect", "MORE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Sand", effectCond = "SandStance"}, { type = "SkillType", skillType = SkillType.Melee })
		},
		["blood_sand_stance_melee_skills_area_damage_+%_final_in_sand_stance"] = {
			mod("Damage", "MORE", nil, ModFlag.Area, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Sand", effectCond = "SandStance"}, { type = "SkillType", skillType = SkillType.Melee })
		},
	},
#mods

#skill ChainStrike
#flags attack melee
	statMap = {
		["chain_strike_gain_x_rage_if_attack_hits"] = {
			flag("Condition:CanGainRage"),
			mod("Dummy", "DUMMY", 1, 0, 0, { type = "Condition", var = "CanGainRage" }),
		},
	},
#mods

#skill Cleave
#flags attack melee area
	statMap = {
		["cleave_damage_+%_final_while_dual_wielding"] = {
			mod("Damage", "MORE", nil, 0, 0, { type = "Condition", var = "DualWielding" }),
		},
	},
#baseMod skill("radius", 20)
#mods

#skill ConsecratedPath
#flags attack melee area duration
#mods

#skill DecoyTotem
#flags spell totem area duration
#baseMod skill("radius", 60)
#mods

#skill Determination
#flags spell aura area
	statMap = {
		["determination_aura_armour_+%_final"] = {
			mod("Armour", "MORE", nil, 0, 0, { type = "GlobalEffect", effectType = "Aura" }),
		},
	},
#baseMod skill("radius", 40)
#mods

#skill DevouringTotem
#flags spell totem duration
	statMap = {
		["corpse_consumption_life_to_gain"] = {
			skill("lifeLeechPerUse", nil),
		},
		["corpse_consumption_mana_to_gain"] = {
			skill("manaLeechPerUse", nil),
		},
	},
#mods

#skill DominatingBlow
#flags attack melee duration minion
	minionList = {
		"AxisEliteSoldierDominatingBlow",
	},
#mods

#skill PuresteelBanner
#flags spell
	statMap = {
		["puresteel_banner_accuracy_rating_+%_final"] = {
			mod("Accuracy", "MORE", nil, 0, 0, { type = "GlobalEffect", effectType = "AuraDebuff" }),
		},
		["attacks_impale_on_hit_%_chance"] = {
			mod("ImpaleChance", "BASE", nil, 0, KeywordFlag.Attack, { type = "GlobalEffect", effectType = "Aura" }),
		},
		["impale_debuff_effect_+%"] = {
			mod("ImpaleEffect", "INC", nil, 0, KeywordFlag.Attack, { type = "GlobalEffect", effectType = "Aura" }),
		},
	},
#baseMod skill("radius", 46)
#baseMod skill("manaCost", 0, { type = "Condition", var = "BannerPlanted" })
#mods

#skill Earthquake
#flags attack melee area duration
	parts = {
		{
			name = "Initial impact",
		},
		{
			name = "Aftershock",
		},
	},
	statMap = {
		["quake_slam_fully_charged_explosion_damage_+%_final"] = {
			mod("Damage", "MORE", nil, 0, bit.bor(KeywordFlag.Hit, KeywordFlag.Ailment), { type = "SkillPart", skillPart = 2 }),
		},
		["earthquake_aftershock_minimum_added_physical_damage"] = {
			mod("PhysicalMin", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 2 }),
		},
		["earthquake_aftershock_maximum_added_physical_damage"] = {
			mod("PhysicalMax", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 2 }),
		},
	},
#baseMod skill("showAverage", true, { type = "SkillPart", skillPart = 2 })
#baseMod skill("radius", 18, { type = "SkillPart", skillPart = 1 })
#baseMod skill("radius", 28, { type = "SkillPart", skillPart = 2 })
#mods

#skill VaalEarthquake
#flags attack melee area duration
	parts = {
		{
			name = "Initial impact",
		},
		{
			name = "Aftershock",
		},
	},
	statMap = {
		["quake_slam_fully_charged_explosion_damage_+%_final"] = {
			mod("Damage", "MORE", nil, 0, bit.bor(KeywordFlag.Hit, KeywordFlag.Ailment), { type = "SkillPart", skillPart = 2 }),
		},
	},
#baseMod skill("showAverage", true, { type = "SkillPart", skillPart = 2 })
#baseMod skill("radius", 18, { type = "SkillPart", skillPart = 1 })
#baseMod skill("radius", 28, { type = "SkillPart", skillPart = 2 })
#mods

#skill EnduringCry
#flags warcry area duration
	statMap = {
		["base_life_regeneration_rate_per_minute"] = {
			mod("LifeRegen", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }),
			div = 60,
		},
	},
#baseMod skill("radius", 60)
#mods

#skill BloodSandArmour
#flags spell area aura
	statMap = {
		["support_maimed_enemies_physical_damage_taken_+%"] = {
			mod("PhysicalDamageTaken", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "AuraDebuff", effectName = "Maim", effectCond = "BloodStance" }, { type = "Condition", var = "Maimed" }),
		},
	},
#baseMod skill("radius", 28)
#baseMod mod("Condition:Maimed", "FLAG", true, 0, 0, { type = "GlobalEffect", effectType = "AuraDebuff", effectName = "Flesh", effectCond = "BloodStance" })
#baseMod mod("Condition:Blinded", "FLAG", true, 0, 0, { type = "GlobalEffect", effectType = "AuraDebuff", effectName = "Stone", effectCond = "SandStance" })
#mods

#skill GlacialHammer
#flags attack melee
#mods

#skill VaalGlacialHammer
#flags attack melee area duration
#mods

#skill GroundSlam
#flags attack melee area
	statMap = {
		["groundslam_damage_to_close_targets_+%_final"] = {
			mod("Damage", "MORE", nil, 0, 0, { type = "Condition", var = "AtCloseRange" })
		},
	},
#baseMod skill("radius", 35)
#mods

#skill VaalGroundSlam
#flags attack melee area
	statMap = {
		["groundslam_damage_to_close_targets_+%_final"] = {
			mod("Damage", "MORE", nil, 0, 0, { type = "Condition", var = "AtCloseRange" })
		},
	},
#mods

#skill HeavyStrike
#flags attack melee
	statMap = {
		["chance_to_deal_double_damage_%"] = {
			mod("DoubleDamageChance", "BASE", nil),
		},
	},
#mods

#skill HeraldOfAsh
#flags spell area
	statMap = {
		["herald_of_ash_fire_damage_+%"] = {
			mod("FireDamage", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
		["herald_of_ash_spell_fire_damage_+%_final"] = {
			mod("FireDamage", "MORE", nil, ModFlag.Spell, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
		["physical_damage_%_to_add_as_fire"] = {
			mod("PhysicalDamageGainAsFire", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" })
		},
	},
#baseMod skill("radius", 10)
#mods

#skill HeraldOfPurity
#flags spell minion
	minionList = {
		"AxisEliteSoldierHeraldOfLight",
	},
	statMap = {
		["base_number_of_champions_of_light_allowed"] = {
			mod("ActiveSentinelOfPurityLimit", "BASE", nil)
		},
		["herald_of_light_spell_minimum_added_physical_damage"] = {
			mod("PhysicalMin", "BASE", nil, ModFlag.Spell, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
		["herald_of_light_spell_maximum_added_physical_damage"] = {
			mod("PhysicalMax", "BASE", nil, ModFlag.Spell, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
		["herald_of_light_attack_minimum_added_physical_damage"] = {
			mod("PhysicalMin", "BASE", nil, ModFlag.Attack, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
		["herald_of_light_attack_maximum_added_physical_damage"] = {
			mod("PhysicalMax", "BASE", nil, ModFlag.Attack, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
	},
#mods

#skill FlameTotem
#flags spell totem projectile duration
#baseMod skill("radius", 16)
#mods

#skill IceCrash
#flags attack melee area
	parts = {
		{
			name = "First Hit",
		},
		{
			name = "Second Hit",
		},
		{
			name = "Third Hit",
		},
	},
	statMap = {
		["ice_crash_second_hit_damage_+%_final"] = {
			mod("Damage", "MORE", nil, 0, 0, { type = "SkillPart", skillPart = 2 }),
		},
		["ice_crash_third_hit_damage_+%_final"] = {
			mod("Damage", "MORE", nil, 0, 0, { type = "SkillPart", skillPart = 3 }),
		},
	},
#baseMod skill("radius", 26)
#mods

#skill ImmortalCall
#flags spell duration
	statMap = {
		["mortal_call_elemental_damage_taken_+%_final"] = {
			mod("ElementalDamageTaken", "MORE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
		["mortal_call_physical_damage_taken_+%_final"] = {
			mod("PhysicalDamageTaken", "MORE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
		["mortal_call_physical_damage_taken_per_endurance_charge_consumed_final_permyriad"] = {
			mod("PhysicalDamageTaken", "MORE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }, { type = "Multiplier", var = "RemovableEnduranceCharge", limit = 5 }),
			div = 100,
		},
	},
#mods

#skill VaalImmortalCall
#flags spell duration
#mods

#skill InfernalBlow
#flags attack melee
#baseMod skill("radius", 15)
#mods

#skill LeapSlam
#flags attack melee area
#baseMod skill("radius", 15)
#mods

#skill MoltenShell
#flags spell area duration
	statMap = {
		["base_physical_damage_reduction_rating"] = {
			mod("Armour", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
	},
#baseMod skill("radius", 15)
#mods

#skill VaalMoltenShell
#flags spell area duration
	statMap = {
		["base_physical_damage_reduction_rating"] = {
			mod("Armour", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
	},
#mods

#skill MoltenStrike
#flags attack melee projectile area
	parts = {
		{
			name = "Melee Hit",
			melee = true,
			projectile = false,
			area = false,
		},
		{
			name = "Magma Balls",
			melee = false,
			projectile = true,
			area = true,
		},
	},
	statMap = {
		["active_skill_damage_over_time_from_projectile_hits_+%_final"] = {
			mod("Damage", "MORE", nil, ModFlag.Dot, 0, { type = "SkillPart", skillPart = 2 })
		},
	},
#mods

#skill BloodSpears
#flags attack melee area
	preDamageFunc = function(activeSkill, output)
		activeSkill.skillData.dpsMultiplier = math.max(activeSkill.skillData.dpsMultiplier or 1, 1)
	end,
	statMap = {
		["blood_spears_base_number_of_spears"] = {
			mod("Multiplier:PerforateMaxSpikes", "BASE", nil),
		},
		["blood_spears_damage_+%_final_in_blood_stance"] = {
			mod("Damage", "MORE", nil, 0, 0, { type = "Condition", var = "BloodStance" })
		},
	},
#baseMod skill("dpsMultiplier", 1, { type = "Multiplier", var = "PerforateSpikeOverlap", limitVar = "PerforateMaxSpikes" }, { type = "Condition", var = "BloodStance" })
#mods

#skill PhysicalDamageAura
#flags spell aura area
	parts = {
		{
			name = "Initial effect",
		},
		{
			name = "Maximum effect",
		},
	},
	statMap = {
		["physical_damage_aura_nearby_enemies_physical_damage_taken_+%"] = {
			mod("PhysicalDamageTaken", "MORE", nil, 0, 0, { type = "GlobalEffect", effectType = "AuraDebuff", modCond = "MinEffect" }),
		},
		["physical_damage_aura_nearby_enemies_physical_damage_taken_+%_max"] = {
			mod("PhysicalDamageTaken", "MORE", nil, 0, 0, { type = "GlobalEffect", effectType = "AuraDebuff", modCond = "MaxEffect" }),
		},
	},
#baseMod flag("Condition:MinEffect", { type = "SkillPart", skillPart = 1 })
#baseMod flag("Condition:MaxEffect", { type = "SkillPart", skillPart = 2 })
#mods

#skill Punishment
#flags spell curse area duration
	statMap = {
		["newpunishment_attack_speed_+%"] = {
			mod("Speed", "INC", nil, ModFlag.Attack, 0, { type = "GlobalEffect", effectType = "CurseBuff" }),
		},
		["newpunishment_melee_damage_+%_final"] = {
			mod("PhysicalDamage", "MORE", nil, ModFlag.Melee, 0, { type = "GlobalEffect", effectType = "CurseBuff" }),
		},
	},
#baseMod skill("debuff", true)
#baseMod skill("radius", 22)
#mods

#skill FireResistAura
#flags spell aura area
	statMap = {
		["base_fire_damage_resistance_%"] = {
			mod("FireResist", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Aura" }),
		},
		["base_maximum_fire_damage_resistance_%"] = {
			mod("FireResistMax", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Aura" }),
		},
	},
#baseMod skill("radius", 40)
#mods

#skill FireImpurity
#flags spell aura area duration
	statMap = {
		["hits_ignore_my_fire_resistance"] = {
			flag("SelfIgnoreFireResistance", { type = "GlobalEffect", effectType = "Debuff" })
		},
		["impurity_fire_damage_taken_+%_final"] = {
			mod("FireDamageTaken", "MORE", nil, 0, 0, { type = "GlobalEffect", effectType = "Aura" }),
		},
	},	
#mods

#skill RallyingCry
#flags warcry area duration
	statMap = {
		["damage_+%"] = {
			mod("Damage", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
		["inspiring_cry_damage_+%_per_one_hundred_nearby_enemies"] = {
			mod("Damage", "INC", nil, 0, 0, { type = "Multiplier", var = "WarcryNearbyEnemies" }, { type = "GlobalEffect", effectType = "Buff" }),
			div = 100,
		},
		["base_mana_regeneration_rate_per_minute"] = {
			mod("ManaRegen", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }),
			div = 60,
		},
	},
#baseMod skill("buffAllies", true)
#mods

#skill Reckoning
#flags attack area melee
#mods

#skill RejuvenationTotem
#flags spell aura totem area duration
	statMap = {
		["base_life_regeneration_rate_per_minute"] = {
			mod("LifeRegen", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Aura" }),
			div = 60,
		},
	},
#baseMod skill("radius", 10)
#mods

#skill SearingBond
#flags spell totem duration
#mods

#skill NewShieldCharge
#flags attack melee area shieldAttack
#mods

#skill ShockwaveTotem
#flags spell totem area duration
#baseMod skill("radius", 24)
#mods

#skill Smite
#flags attack melee duration area
	statMap = {
		["base_chance_to_shock_%_from_skill"] = {
			mod("EnemyShockChance", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Aura" }),
		},
		["minimum_added_lightning_damage_from_skill"] = {
			mod("LightningMin", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Aura" }),
		},
		["maximum_added_lightning_damage_from_skill"] = {
			mod("LightningMax", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Aura" }),
		},
	},
#mods

#skill StaticStrike
#flags attack melee duration
	parts = {
		{
			name = "Melee hit",
		},
		{
			name = "Beams - 1 Stack",
		},
		{
			name = "Beams - 3 Stacks",
		},
	},
	statMap = {
		["static_strike_beam_damage_+%_final"] = {
			mod("Damage", "MORE", nil, 0, 0, { type = "Condition", var = "Moving", neg = true }, { type = "SkillPart", skillPartList = { 2, 3 }}),
		},
		["static_strike_beam_damage_+%_final_while_moving"] = {
			mod("Damage", "MORE", nil, 0, 0, { type = "Condition", var = "Moving" }, { type = "SkillPart", skillPartList = { 2, 3 }}),
		},
	},
#baseMod skill("hitTimeOverride", 0.4 / (1+1*0.1), { type = "SkillPart", skillPart = 2 })
#baseMod skill("hitTimeOverride", 0.4 / (1+3*0.1), { type = "SkillPart", skillPart = 3 })
#mods

#skill QuickGuard
#flags spell duration
#mods

#skill SummonFireGolem
#flags spell minion golem
	minionList = {
		"SummonedFlameGolem",
	},
	statMap = {
		["fire_golem_grants_damage_+%"] = {
			mod("Damage", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
	},
#baseMod skill("allowTotemBuff", true)
#baseMod flag("Condition:HaveFireGolem", { type = "GlobalEffect", effectType = "Buff" })
#mods

#skill SummonRockGolem
#flags spell minion golem
	minionList = {
		"SummonedStoneGolem",
	},
	statMap = {
		["stone_golem_grants_base_life_regeneration_rate_per_minute"] = {
			mod("LifeRegen", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }),
			div = 60,
		},
	},
#baseMod skill("allowTotemBuff", true)
#baseMod flag("Condition:HavePhysicalGolem", { type = "GlobalEffect", effectType = "Buff" })
#mods

#skill Sunder
#flags attack melee area
	parts = {
		{
			name = "Primary wave",
		},
		{
			name = "Shockwaves",
		},
	},
	statMap = {
		["shockwave_slam_explosion_damage_+%_final"] = {
			mod("Damage", "MORE", nil, 0, 0, { type = "SkillPart", skillPart = 2 }),
		},
	},
#mods

#skill Sweep
#flags attack melee area
#baseMod skill("radius", 26)
#mods

#skill EnduranceChargeSlam
#flags attack melee area
	statMap = {
		["endurance_charge_slam_damage_+%_final_with_endurance_charge"] = {
			mod("Damage", "MORE", nil, 0, 0, { type = "StatThreshold", stat = "EnduranceCharges", threshold = 1 }),
		},
	},
#mods

#skill Vengeance
#flags attack melee area
#mods

#skill VigilantStrike
#flags attack melee
#mods

#skill Vitality
#flags spell aura area
	statMap = {
		["life_regeneration_rate_per_minute_%"] = {
			mod("LifeRegenPercent", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Aura" }),
			div = 60,
		},
	},
#baseMod skill("radius", 40)
#mods

#skill Vulnerability
#flags spell curse area duration
	statMap = {
		["receive_bleeding_chance_%_when_hit_by_attack"] = {
			mod("SelfBleedChance", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Curse" }),
		},
		["base_physical_damage_over_time_taken_+%"] = {
			mod("PhysicalDamageTakenOverTime", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Curse" }),
		},
		["physical_damage_taken_+%"] = {
			mod("PhysicalDamageTaken", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Curse" }),
		},
	},
#baseMod skill("debuff", true)
#baseMod skill("radius", 22)
#mods

#skill WarlordsMark
#flags spell curse area duration
	statMap = {
		["life_leech_on_any_damage_when_hit_by_attack_permyriad"] = {
			mod("SelfDamageLifeLeech", "BASE", nil, ModFlag.Attack, 0, { type = "GlobalEffect", effectType = "Curse" }),
		},
		["mana_leech_on_any_damage_when_hit_by_attack_permyriad"] = {
			mod("SelfDamageManaLeech", "BASE", nil, ModFlag.Attack, 0, { type = "GlobalEffect", effectType = "Curse" }),
		},
		["base_stun_recovery_+%"] = {
			mod("StunRecovery", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Curse" }),
		},
	},
#baseMod skill("debuff", true)
#baseMod skill("radius", 22)
#mods

#skill BloodstainedBanner
#flags spell
	statMap = {
		["accuracy_rating_+%"] = {
			mod("Accuracy", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Aura" })
		},
		["physical_damage_taken_+%"] = {
			mod("PhysicalDamageTaken", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "AuraDebuff" })
		},
	},
#baseMod skill("radius", 46)
#baseMod skill("manaCost", 0, { type = "Condition", var = "BannerPlanted" })
#mods
